Distributed data processing systems are well known in which a local server computer provides read-write access to a read-write copy of a dataset, and a geographically remote server computer provides read-only access to a read-only copy of the dataset. In such systems, data written to the local read-write copy of the dataset is automatically transmitted over a data link to the remote server computer in order to update the remote read-only copy after a certain transmission delay. See, for example, Yanai, et al., U.S. Pat. No. 7,240,238 issued Jul. 3, 2007, entitled Remote Data Mirroring System.
One objective of a remote data mirroring system is to provide data availability and data recovery in case of a failure of the local server computer especially due to a disaster. An additional objective, for many applications, is to provide remote clients with a read-only copy of the dataset that the remote clients may frequently access instead of accessing the local read-write copy. In this case the loading upon the local server computer is reduced and the loading upon the data network between the local server computer and the remote client is also reduced. If a remote client would need to write to the dataset, for example to execute a read-write transaction upon the dataset, then the remote client may communicate directly with the local server to place a lock upon a portion of the read-write copy of the dataset in order to read data from the locked portion of the dataset and then to write new data to the locked portion of the dataset.
Distributed data processing systems are also known in which a file system is distributed over multiple server computers so that each server computer provides client access to a respective portion of the directories and regular files in the file system. For example, each server computer provides access to a respective file system cell, and the file system cells are linked together to form a meta-filesystem that appears to a user or application program to be a single file system. A server computer responds to a directory access request from a client for access to a directory in its file system cell by returning a file handle containing a file system cell ID and a pointer to a file in the file system cell identified by the file system cell ID. A subsequent client request including this file handle is routed to the server computer providing access to the file system cell identified by the file system cell ID in this file handle. See, for example, Venkatesh, et al., U.S. Pat. No. 6,985,914 issued Jan. 10, 2006, entitled “Cluster meta file system of file system cells managed by respective data movers of a network file server.”
Distributed processing systems are also known in which more than one server computer may provide clients with read-write access to the same directories and regular files in the same file system. For example, server computers in a cluster share access to the same file system in the same data storage, and each of these server computers maintains a local cache of file directory information including locking information of locked files that are accessible through the server computer. A cache consistency scheme ensures that shared locking information is consistent in the local caches. For example, cache consistency messages are passed among the server computers. See, for example, Tzelnic, et al., U.S. Pat. No. 5,944,789 issued Aug. 31, 1999, entitled “Network File Server Maintaining Local Caches of File Directory Information in Data Mover Computers.”